package hah;

import java.util.HashMap;
import java.util.Stack;

public class isValid {
    public boolean isValid(String s){
        HashMap<Character,Integer> map=new HashMap<>();
        map.put('(',1); map.put(')',4);
        map.put('{',2); map.put('}',5);
        map.put('[',3); map.put(']',6);
        Stack<Integer> stack=new Stack<>();
        for (char c:s.toCharArray()){
            int val=map.get(c);
            if (1<=val&&val<=3) {
                stack.push(val);
            }else {
                int tval=map.get(c);
                int tval2=stack.peek();
                if (tval2+3==tval){
                    stack.pop();
                }else {
                    return false;
                }
            }
        }
        if (stack.empty()){
            return true;
        }else {
            return false;
        }
    }
}
